package com.wangxinyuchuan.demo.prototype.homework;

import com.wangxinyuchuan.demo.prototype.Product;

/**
 * @author wangxinyuchuan
 * @date 2023/4/14 6:33 PM
 *
 * 方法一：
 * AbstractProduct直接作为MessageBox和UnderlinePen的抽象父类，抽象父类实现createClone方法
 * 这样MessageBox和UnderlinePen类不需要重新实现createClone方法，只需要实现use方法，从而复用代码
 *
 */
public abstract class AbstractProduct implements Product {

    @Override
    public Product createClone() {
        Product product = null;

        try {
            product = (Product) clone();
        } catch (CloneNotSupportedException e) {
            e.printStackTrace();
        }
        return product;
    }
}
